/*============================================================================*/
/*                   CONTINENTAL AUTOMOTIVE SYSTEMS                           */
/*============================================================================*/
/*                        OBJECT SPECIFICATION                                */
/*============================================================================*
* name:            HALDebouncer.h
* version:         1.1
* created_by:      Rodrigo Casados, Lizette Acosta
* date_created:    June 22 2013
*=============================================================================*/
/* DESCRIPTION : Header file for HALDebouncer.c                               */
/*============================================================================*/
/* FUNCTION COMMENT :                                                         */
/*                                                                            */
/*============================================================================*/
/*                               OBJECT HISTORY                               */
/*============================================================================*/
/*  REVISION |   DATE      |                               |      AUTHOR      */
/*----------------------------------------------------------------------------*/
/*  1.1      | 22/June/2013 |                              | Lizette Acosta   */
/*                                                           Rodrigo Casados  */
/*============================================================================*/
#ifndef HALDEBOUNCER_H                               /* To avoid double inclusion */
#define HALDEBOUNCER_H

/* Register definitions for selected microcontroller */
#include "MPC5606B.h"
#include "stdtypedef.h"
#include "sysinit.h"
#include "MALioapi.h"
#include "MALbeMIOS.h"

/* State Machine for PIT status*/
typedef enum
{
	NEW_EVENT,
	WAITING,
	TIME_LAPSE_COMPLETED
}e_PIT_Status;

/* Buttons' defines*/
#define BTN_1	!(IO_PinRead(pin_PE0))
#define BTN_2	!(IO_PinRead(pin_PE1))
#define BTN_3	!(IO_PinRead(pin_PE2))
#define BTN_4	!(IO_PinRead(pin_PE3))


void vfn_ReadButtons(e_StateFlag * ptr_ButtonID);
void vfn_Deboouncer(e_StateFlag *leub_ButtonID);
extern gub_DebouncerFlag;


#endif


